約 352,130 件
https://w.atwiki.jp/p649493386251151/pages/1155.html
VC周回(初代/金銀のみの技マシン組合せ、夢特性など) 基本情報: 第7世代にポケムーバーで送る時、 努力値蓄積およびポイントアップ効果はリセットされる 秘伝技をゲーム内で忘れさせることはできないがポケムーバーでは無問題 レベルはそのまま、3V確定、夢特性固定 累計経験値を25で割った余りで性格が決定。対応表は初代と金銀で共通。 (初代からは育て屋利用で自在。 金銀の育て屋は、引き取る時に現レベルの最小経験値まで経験値がリセットされるので 経験値テーブルを確認しつつ引き取る、コイキングなどを複数体で倒して適宜調整する、 などの一手間が必要なので注意) ボックス1のポケモンがまとめて転送される (送る予定のないポケモンは最初からボックス2以降に預けておいたほうがいい) (第2世代からの場合、アイテムを持ったポケモンは転送されないのでプロテクト可能) サンムーンでも金銀VCのポケモンを受け取れる。 初代のカイリューは波乗り怪力しか秘伝技を覚えてくれない仕様なので注意。 赤緑青ピ(第1世代) ソフト2つ、図鑑を揃える必要がない場合 メインロムをポケムーバー対応本体にダウンロード、サブロムを他の本体にダウンロード メインロムはリザードンが空を飛ぶを唯一覚えるピカチュウ版 この時点でマックスアップは確保できるので(転送の際には関係ないが)、 転送したいポケモンが出現するバージョンを赤緑青から選ぶ 1, メインロムをクリア 2, ヒトカゲをリザードンにまで育て、居合切り/空を飛ぶ/火炎放射/穴を掘るを覚えさせる (それなりに強いので言うことを聞かせるためにLv40程度で止めておく。 怪力も覚えるがカメールに覚えさせること前提なのであまり問題ない) 3, ラッキーをハナダの洞窟で捕まえ、タマゴ産み/テレポート/フラッシュ/サイコキネシス を覚えさせる 4, サブロムをゼニガメで始める 5, 届け物イベント後適当に2体ゲット 6, ゼニガメ+1体とメインロムの2体を交換 7, チャンピオンロードやハナダの洞窟、四天王戦(学習装置)でLv25程度までレベル上げ 8, カメールを波乗り/怪力/メガトンキックorパンチ/水鉄砲 状態でサブロムに返す カスミを倒した段階で居合切り可能、マチスを倒した段階で空を飛ぶ可能 (圧し掛かり・地球投げ次第だがマサキ、サントアンヌ号を無視できる) マチス3体目のライチュウのみは倒される危険性があるが、事前レポートで済ませるか Lv30以下ゴローニャを追加で連れてきておいて爆発させる(サイクル可能) エリカは美味しい水を手に入れがてら入手できる冷凍ビームで対応 リザードンはレベルを上げずシルフ・ナツメ戦用になるべくは温存した方がよい ガラガラの魂はピッピ人形で除霊できる。強制移動矢印床のアジト攻略をパスできるのでだいぶ早くなる キョウとナツメを順不同で倒す、サファリは無視できる マスボは伝説3鳥の捕獲にとっとと使う、この段階で厳選は不要というか無意味 ファイヤーが要らない場合はサカキ戦で地割れをもらった段階がリセット目安になることに留意 拾ったor賞金で買ったポイントアップとドーピング薬はリザードンとラッキーに、 アメは随時カメックスとラッキーに注ぎ込み、 メインロムにリザラキやら転送したい捕獲ポケやらを引き渡す、あるいは貴重技を覚えさせて返す ソフト2つ、図鑑を揃える必要がある場合 メインロムをポケムーバー対応本体にダウンロード、サブロムを他の本体にダウンロード 組合せは赤緑のみなので、秘伝要員はカモネギに弱体化するor2体で賄うことに注意 1, メインロムをクリア(秘伝要員2体のうち1体として使う気があるならばリザードンで) 2, おしょう(居合切り/空を飛ぶ/切り裂く/毒毒)を用意、怪力はカメールが覚えている 3以下は前述のものと同様、秘伝要員を戦力にはカウントしにくいことには気を付ける ソフト1つの場合 御三家を転送したいならば序盤リセットを3度行えばよいだけなので、 一度に3体手に入るというピカ版のメリットは薄い むしろストーリーのレベルが上がる分ピカ版は不利 特に拘りがなければポリゴン(リフレクター、サイコウェーブ)を一番安く手に入れられる緑を選択 序盤の草は毒複合ばかりなのでゼニガメorフシギダネ系列+ダグトリオの2強スタイルが安定する ソフト2つの場合と比べ効率が激減するのは頭に入れておくこと 一工夫できること(ソフト2つだとやりやすい) 伝説3鳥は状態異常による被捕獲率上昇効果が残HP効果に対し非常に大きい ファイヤー・サンダー用に吹雪を覚えさせたサイドンやガラガラを用意しておくと 凍らせてからのモンスターボールで容易にゲットできる(どのみち転送用に吹雪は無価値) ミュウツーも同様あるいは冷凍ビーム連打でOK マスボはフリーザーに使うことになる ヨクアタール+眠らせも効果的で、PP回復アイテムを用意すれば万全(1ターン目さえ凌げば野生のモルフォンで十分) 角ドリルは普通に売っているので、「ここだけでいいから無理やり突破したい」という場合は 素早さの高いギャロップなどに覚えさせてヨクアタールと併用して使うとエコノミーなごり押しが可能 (初代のヨクアタールは一撃技だろうと必中状態になる) ただし自分より早い相手には絶対当たらないので場合によってはスピーダーも併用(遅いが耐久のあるジュゴンなどで有効) 金銀(第2世代) 赤緑青ピとの違い・互換 技マシンはオス親遺伝を駆使すればよく、技マシンのための周回は一部例外除き意義が薄い。 そもそも興味をそそる極端な性能の技マシンが限られているとも言える。 タイムカプセルで初代VCとの交換ができるが、このとき戦闘関連で失われる情報はポケルスのみ。 持ち物は内部データに保存されるため、実は金銀VCを最初から始めるときに初代VCと通信できれば貴重道具をキープできる。 (ちなみにタイムカプセルで持ち物通信進化は起きない。 例:ヤドンに王者の印を持たせ初代に送り、また戻した場合、王者の印が消えることはないが戻したときの進化もない) (竜の牙を持ち込んでもイブキのイベントはパスできない。専用セリフは一見の価値ありかも) 実用的な所では、お守り小判を早期から送り込むとかなり稼げる あまり意味はないかも知れないが「リセットで育成環境を崩したくない!」というときでも、遺伝箇所が少ないおかげで 防御・特殊個体値が最大の初代登場ポケモンを初代VCに保管しておくだけで比較的楽に原状復帰が可能。 初代があれば石も買い放題。…などなど、金銀両方買う意義が益々薄れていたりする。 今からソフトを揃える状態なら、ポケムーバー対応3DSに第二世代VC1つ、それとは別に初代VC1つで大抵事足りる。 (図鑑も気にせず、あくまで第7世代への転送を目的とする場合。また、厳密には金銀VCのポケムーバー仕様次第) 徘徊する3犬をリセットから捕獲しまくりたい時だけは別。図鑑登録用の3犬ならびに捕獲特化ドーブルを常備できるか否かで 1サイクルあたり何十時間もの差が生まれる。 バッジ補正含めて、Lv40努力値MAXで最高個体値のLv40ライコウに先攻胞子を打てるのは高個体値ドーブルだけ。 ただしライコウは優先度+1で逃げることがある(電光石火を置換)という鬼畜仕様に注意。マスボ推奨 第二世代VC+初代VC組合せ時の初代VC周回サイクル 第二世代VCをポケムーバー対応本体にダウンロード、初代VCを他の本体にダウンロード 基本的にはスイクンが固定な上にセレビィが手に入るクリスタル推奨 金か銀かは、ホウオウルギアどちらをスムーズに回収したいかがはっきりしていればそれに従う そうでない場合は、やや銀が推奨される ①ニャースが出現する。猫に小判という意味で少し得。 ②イトマルが出現しない。序盤の毒針の脅威が抑えられる。 ドーブルに蜘蛛の巣を覚えさせるのに苦労するというデメリット要素もあるが。 ③コガネのスロット景品が金のアーボに対して銀はサンド。 サンドが強いという意味ではなく、Lv10で全能力(当然BDも)の個体値MAX判断ができ、 個体値遺伝親(陸上)として即用意できる。 《景品厳選:必要コインの安さを活かし、手持ちに5体買い込んでステ確認、 駄目ならばリセットを繰り返す》 ケーシィ(人型)、ミニリュウ(水中1/ドラゴン)もBDに関して同様。 1, 初代VCをゼニガメで開始、冷凍ビームを覚えさせカメックスLv40~45になる程度まで進行 2, 第二世代VCをヒノアラシ一強体制(+オタチ、ポッポ)でエンジュまで進み、「タイムカプセル明日から」状態にする 3, カメックスを送り込みシジマおよびミカンを波乗り怪力で倒す 以後バッジ効果で基本的に言うことを聞き続けるのでカメックス無双 赤ギャラは個体値固定につきオス確定(色違い孵化拡散に使える)、「波乗り怪力渦潮滝登り」 4, カントーで凄い釣り竿入手、竜の穴でミニリュウorハクリューLv40が簡単に釣れるので 空を飛ぶ要員をカイリューにかえておく(空を飛ぶ滝登り渦潮波乗り) 5, カメックスを初代VCに返してクリアしておく 6, ラッキーをハナダの洞窟で捕まえ、タマゴ産み/テレポート/フラッシュ/サイコキネシス を覚えさせる 7, 第二世代VCにカメラキやら転送したい捕獲ポケやらを引き渡す、あるいは貴重技を覚えさせて返す 8, 初代VC周回準備完了、以後は前述の通り カメールに冷凍パンチを覚えさせられるので更に楽になる 第二世代VC+初代VC組合せ時の第二世代VC周回サイクル 基本的に、前述の初代VC周回下準備のヒノアラシ突貫が第二世代VC周回サイクルにもなっている。 カメックスを送り込んでいたところを適当な水ポケに変更すればよい。 ただし冷凍ビームの技マシンには限りがあり、冷凍パンチで妥協することも考えられる。 (ふたごじまでLv30台のパウワウをゲットしておくと金銀Lv37で冷凍ビームを覚えられる。 波乗り渦潮滝登り完備) 初代VC周回時はポケモンを取って置けるが、第二世代VC周回時は第二世代のポケモンについては転送or消去しかない。 一度以上リセットを考えているのなら、最初から「初代ポケモンを捕獲・用意親対象とする」つもりで動くと リカバリが効きやすい。それらのポケモンに貴重道具を持たせ片っ端から初代VCに送り込むこともできる。 当然ながら現時点では、転送できない=リセットが大変しにくいことに注意。 また、初代VC側の周回と異なり、タイムカプセル開放までは毎度自力攻略が必要となることも忘れずに。 空を飛ぶ波乗り滝登り怪力カイリューならば初代に一時保管できる。 マスターボールはホウオウルギア…ではなく、徘徊3犬のラスト1体(HP満タン)に とっとと使うほうが時間的に得なケースが多い。固定シンボルはハイパーボール連打でもなんとかなるため。 前述のように優先度+1で逃げるライコウが最もハードなので優先的に使ってもいい 更に言うならば、捕獲要員の使いまわしができない状態では 「適当なLv40ポケモンのスプレー歩きからの即マスボで特定の1体が捕まれば終了」という発想も十分あり。
https://w.atwiki.jp/justic/pages/17.html
VCについて JuStiCはTS3を使用しています・。・ ↓TS3についてはこちら↓ http //hovel.arcenserv.info/ts3/ ↓サーバーポートについてはこちら↓ チャンネルパスワードに関してはクランチャットでお教えします・。・v
https://w.atwiki.jp/ookubo/pages/18.html
VC++ 2005のセキュアなCRTの変更は~ [[http //eol.ovh.org/winexe/ linuxからwindowsのコマンドを起動] http //www.vector.co.jp/soft/win95/util/se115105.html 自動化ツールで簡単テスト DLLのエクスポート関連 Windowsデバッグ - Editボックスをドラッグ ドロップする方法- stopWatchクラス- 時間の構造体- アイコン作成/アイコンウイザード1.4- ディスクの空き容量を調べる- DLLの作成方法について- スレッド- ログ出力- プロセス情報を取得- 他のプロセスの出力を取得する- 他のプロセスの出力を取得する(標準エラーも取得する)- 他のプロセスの出力を取得する(標準エラーも取得する)- 他のプロセスの出力を取得する(標準エラーも取得する/MS)- 他のプロセスの出力を取得する(標準エラーも取得する/WideStudio)- 他のプロセスの出力を取得する(標準エラーも取得する/外部アプリケーションや外部コマンドの実行)- 標準出力と標準エラー出力をリダイレクションする- プロセス後のメッセージを取得する- ユニコード- Timer- BEGIN_MESSAGE_MAP(CToFullModelDlg, CDialog) ~省 略~ ON_WM_TIMER() END_MESSAGE_MAP() void CToFullModelDlg startTimer() { m_nTimer = SetTimer(100000, 2000,0); // MessageBeep(0xFFFFFFFF); // Beep } void CToFullModelDlg stopTimer() { KillTimer(m_nTimer); } void CToFullModelDlg OnTimer(UINT_PTR nIDEvent) { // TODO ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼び出します。 MessageBeep(0xFFFFFFFF); // Beep CDialog OnTimer(nIDEvent); } プロセスの列挙- while (true) { //trace("## stderr"); DWORD avail; if (!PeekNamedPipe(stderrRead, NULL, 0, NULL, avail, NULL)) break; if (avail 0) { DWORD bytesRead = 0; char readBuf[1025]; if (avail 1024) avail = 1024; if (!ReadFile(stderrRead, readBuf, avail, bytesRead, NULL) || bytesRead == 0) { break; } for (unsigned int i=0 ; i bytesRead ; i++) errbuf.push_back(readBuf[i]); } //trace("## stdout"); if (!PeekNamedPipe(stdoutRead, NULL, 0, NULL, avail, NULL)) break; if (avail 0) { DWORD bytesRead = 0; char readBuf[1025]; if (avail 1024) avail = 1024; if (!ReadFile(stdoutRead, readBuf, avail, bytesRead, NULL) || bytesRead==0) { break; } for (unsigned int i=0 ; i bytesRead ; i++) outbuf.push_back(readBuf[i]); } DWORD exitCode; GetExitCodeProcess(piProcessInfo.hProcess, exitCode); if (exitCode != STILL_ACTIVE) break; Sleep(100); } リンク名 リンク名
https://w.atwiki.jp/gtathetrilogy/pages/40.html
[部分編集] GTAVCの物件名称 購入費用アジト 店舗物件 乗り物関連ガレージ 近辺に湧く乗り物 攻略ポイント ミッション一覧カウフマンキャブ 撮影所 印刷所 マリブクラブ 単発 関連リンク・動画 GTAVCの物件 Ⅲでは隠れ家が計3件しかなかったが、VCでは物件購入により増やせるようになっている。 収益の発生する店舗物件は、中盤のストーリーミッション「Shakedown」をクリアすると解禁される。 SAの物件と違って、最後のストーリーミッションの1つ前(Cap the Collector)をアンロックするのに物件ミッションが必要となる。 達成度100%を目指すなら全ての物件を購入し、ミッション等を全てクリアする必要がある。 ちなみにフィルのストーリーミッションを2つともクリアすると、店舗物件と同じ演出が入る。 しかし、あくまで武器購入が可能になるだけで収益発生はしない。 名称 プレイ記録や購入時のメッセージにおいて特に区別はなく、総じて「物件」扱いとなっている。 しかしセーブポイントのみの物件はマップで「アジト」と名称がついており、店舗物件の名もShakedownクリア時に使われる。なので本Wikiでもそれに準じている。 一方、店舗物件で発生するミッションは特に総称が見当たらないので、本Wikiでは物件ミッションとの仮称を付けている。 海外においてセーブポイントのみの物件は【safehouses】、店舗物件は【assets】、総称に【properties】が使われる。 購入費用 アジトが$41,500、店舗物件が$400,000、総額$441,500となる。 アジト 物件の名前 プレイ記録での名前 費用 バイスポイント3321 3321 Vice Point $2,500 リンクスビュー・アパート Links View Apartment $6,000 エル・スワンコ邸 El Swanko Casa $8,000 ワシントン通り1102 1102 Washington Street $3,000 オーシャンハイツ・アパート Ocean Heights Apartment $7,000 ハイマン・コンドミニアム Hyman Condo $14,000 スクモールのボロ屋 Skumole Shack $1,000 店舗物件 物件の名前 プレイ記録での名前 費用 マリブクラブ Malibu Club $120,000 印刷所 Vice City Print Works $70,000 撮影所 InterGlobal Films, Inc. $60,000 アイスクリーム工場 Cherry Popper Ice Cream $20,000 サンシャインオート Sunshine Auto s $50,000 カウフマンキャブ Kaufman Cabs $40,000 ボートヤード Boatyard $10,000 ポールポジションクラブ Pole Position Club $30,000 乗り物関連 ガレージ 物件の名前 ガレージの内訳 総収容台数 リンクスビュー・アパート 1台*1 1台 エル・スワンコ邸 1台*1 1台 オーシャンハイツ・アパート 1台*1 1台 ハイマン・コンドミニアム 4台*1と2台*2 8台 サンシャインオート 2台*4 8台 近辺に湧く乗り物 物件の名前 確定・不定 確定の乗り物 バイスポイント3321 不定 リンクスビュー・アパート 不定 エル・スワンコ邸 確定 Ambulance ワシントン通り1102 確定 Faggio ハイマン・コンドミニアム 確定 Marverick スクモールのボロ屋 確定 Angel・PCJ-600 マリブクラブ 確定+不定 Rumpo 撮影所 確定 Patriot・Packer・Skimmer(条件付き) アイスクリーム工場 確定 Mr. Woopee サンシャインオート 確定 Sentinel・車両収集で4種追加 カウフマンキャブ 確定 Kaufman Cab(途中でZebra Cabに変更) ボートヤード 確定 Pony・Cuban Jetmax・Squalo 攻略ポイント 序盤はガレージ付き物件を優先して狙うべし。 お気に入りや特別仕様の乗り物を保存するのに必要となる。 マリブクラブは以下の点で非常に優れるので、店舗物件が解禁されたら速攻で買えるよう12万ドルほど貯めておくと便利。 最大収益が最高額の1万ドル 最初の物件ミッションにて警察署の隠しアイテム1個をノーダメージで回収ただし途中で手配されて以降は銃撃戦不可避 警官の服入手(基地内にいても狙われない) Rifle Range解禁 フィルのストーリーミッション2つ解禁クリア後にリモートグレネード購入可 サンシャインオートもガレージと塗装屋が便利だが、5万ドルなので急がなくてもすぐ貯まって買いに行ける。 あらかじめサイドミッションで稼いでおくべきなのは言うまでもない。 武器に投資するのは収益が発生したあとにして、それまではなるべく拾って確保するのも有効。 隠しアイテムコンプリート報酬が10万ドルなのも覚えておこう。 [部分編集] ミッション一覧 カウフマンキャブ V.I.P. Friendly Rivalry Cabmaggedon 撮影所 Recruitment Drive Dildo Dodo Martha s Mug Shot G-Spotlight 印刷所 Spilling The Beans Hit The Courier マリブクラブ No Escape? The Shootist The Driver The Job 単発 ボートヤード……Checkpoint Charlie アイスクリーム工場……Distribution ポールポジションクラブ……ダンスを5分観賞($300消費) サンシャインオート……車両収集 [部分編集] 関連リンク・動画 Area GTA(アジト) Area GTA(店舗物件) GTA Wiki(Safehouses) GTA Wiki(Assets) + 動画
https://w.atwiki.jp/usonx/pages/12.html
生成するexe名の変更 ときおりプロジェクト名ではなく任意の名前でexeを生成したいときがある。その場合は、下記のように変更することができる。 プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「方法 プロジェクト プロパティ ページを開く」を参照してください。 [リンカ] フォルダをクリックします。 [全般] プロパティ ページをクリックします。 [出力ファイル] プロパティを変更します。 エラーメッセージ プリコンパイル ヘッダー ファイルが旧バージョンのコンパイラで作成されています。また、C++ のプリコンパイル済みヘッダー ファイルを C で使用しています (その逆も考えられます)。 cppに、cのソースコードをいれていると上記メッセージが表示される。 ファイル拡張子をcppに変更する float(IEEE754)のデコード/コード floatflo_in=-0.0225532F; floatflo_out; charchr[4]; char*p_flo; p_flo = (char *) flo_in; chr[0] = p_flo[0]; chr[1] = p_flo[1]; chr[2] = p_flo[2]; chr[3] = p_flo[3]; flo_out = *(float *)(chr); EditBoxのフォントを変更する HFONT hFont;// フォント設定 // フォントサイズ変更 hFont = CreateFont(12, 0, 0, 0, FALSE, FALSE, FALSE, 0, SHIFTJIS_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_MODERN, _T("MS ゴシック")); // FIXED_PITCH | FF_ROMAN, "MS 明朝"); // FIXED_PITCH | FF_ROMAN, "明朝"); SendDlgItemMessage(IDC_EDIT39, WM_SETFONT, (WPARAM)hFont, 0L ); // フォントセット SendDlgItemMessage(IDC_EDIT40, WM_SETFONT, (WPARAM)hFont, 0L ); // フォントセット デュアルコアCPUでの実行に関して タイマースレッドやワーカースレッドを使用したシリアル通信プログラム等をデュアルコアで実行する場合は、動作CPUを1つに固定した方がよい。何もしないと2つのCPUを用いた動作になるが、切替のオーバーヘッドが無視できず、実行周期が設定値に届かない(ことがある)。 動作CPUを固定するには、アプリ起動後、タスクマネージャ- プロセスから対象のアプリを選択し、右クリックの「関係の設定」を選択。CPUを選択する(どちらか、一方のCPUを選択すればよい@デュアル)。 ココに詳しい説明がありました。 プログラム的に、上記の手順を踏むには、SetProcessAffinityMaskというAPIを使えばいいらしい。 ココ HANDLE hCP; DWORD pamask, samask, patmp = 0; int numcpu = 0; hCP = GetCurrentProcess(); GetProcessAffinityMask(hCP, pamask, samask); m_msg.Format(_T("lpProcessAffinityMask=%d\tlpSystemAffinityMask=%d\n"), pamask, samask); patmp = pamask numcpu; m_msg2.Format(_T("%d, numcpu %d"),patmp,numcpu); if(patmp 1) SetProcessAffinityMask(hCP, 1 numcpu); m_msg3.Format(_T("1 numcpu %d, numcpu %d"),1 numcpu,numcpu); // マルチコア対応 コピペ用 HANDLE hCP; DWORD pamask, samask, patmp = 0; int numcpu = 0; hCP = GetCurrentProcess(); GetProcessAffinityMask(hCP, pamask, samask); patmp = pamask numcpu; if(patmp = 1) SetProcessAffinityMask(hCP, 2 numcpu); INIファイルの生成 以下のプログラムをOnInitDialog()に書き込む CWinApp* pApp;// アプリケーション情報 CString sIniFileName;// INI ファイル名称(フルパス) CString str; pApp = AfxGetApp(); TCHAR drive[_MAX_DRIVE]; TCHAR dir[_MAX_DIR]; TCHAR fname[_MAX_FNAME]; TCHAR buff[_MAX_PATH]; // INIファイル読み込み //////////////////////////////////////////////////////////////////////////////////////////// //自己アプリのパス所得(大小文字識別付き) GetModuleFileName( pApp- m_hInstance, buff, _MAX_PATH ); WIN32_FIND_DATA wfd; HANDLE h = FindFirstFile( buff, wfd ); if( h != NULL ) { _tsplitpath( buff, drive, dir, NULL, NULL ); _tmakepath( buff, drive, dir, wfd.cFileName, NULL ); FindClose( h ); } _tsplitpath( buff, drive, dir, fname, NULL ); _tmakepath( buff, drive, dir, fname, _T("ini") ); free( (void*) pApp- m_pszProfileName ); sIniFileName = pApp- m_pszProfileName = _tcsdup( buff ); // アプリケーション情報に INIファイル名称を設定する free((void*) pApp- m_pszProfileName); pApp- m_pszProfileName=_tcsdup(sIniFileName); また、InitInstance()に書かれている以下をコメントアウトする。コメントアウトしないとレジストリ上で設定が読み書きされることになる。 //SetRegistryKey(_T("アプリケーション ウィザードで生成されたローカル アプリケーション")); 設定を読み込むには、 m_ComPort = pApp- GetProfileString(_T("Com"),_T("Port"),_T("COM1"));// def COM1 m_ComBR = pApp- GetProfileInt(_T("Com"),_T("BR"),9600);// def 19200 設定を書き込むには、 pApp- WriteProfileInt(_T("Test"),_T("test"),1); pApp- WriteProfileString(_T("Main"),_T("Log1"),m_Log1_header); COMポートの扱い方 hoge.hに以下を宣言する HANDLEm_hComm;// シリアルポートのハンドル DCBm_dcb;// 通信パラメータ CStringm_ComPort;// 使用する仮想ポート def COM1 DWORDm_ComBR;// 通信レート def 9600 BYTEm_ComPARITY;// パリティ def 0 DWORDm_ComSTOPBIT;// ストップビット def 1 BYTEm_ComFPAR;// Fパリティ def 0 BYTEm_ComBYTE;// BYTESIZE def 8 hoge.cppに以下を書く。 str.Format(_T("\\\\.\\%s"),m_ComPort); m_hComm = CreateFile( str,// シリアルポートの文字列 GENERIC_READ | GENERIC_WRITE,// アクセスモード:読み書き GENERIC_READ | GENERIC_WRITE 0,// 共有モード:他からはアクセス不可 NULL,// セキュリティ属性:ハンドル継承せず OPEN_EXISTING, // 作成フラグ: FILE_ATTRIBUTE_NORMAL, // 属性:FILE_ATTRIBUTE_NORMAL NULL// テンプレートのハンドル: ); if (m_hComm == INVALID_HANDLE_VALUE) { err = GetLastError(); str.Format(_T("シリアルポートを開くことが出来ませんでした\nError code %d"),err); AfxMessageBox(str); exit(-1); } // 通信属性を設定する GetCommState(m_hComm, m_dcb); // DCB を取得 m_dcb.BaudRate= m_ComBR; m_dcb.ByteSize= m_ComBYTE; m_dcb.Parity= m_ComPARITY; m_dcb.fParity= m_ComSTOPBIT; m_dcb.StopBits= m_ComFPAR; m_dcb.fBinary= TRUE; // バイナリーモード m_dcb.fNull= FALSE; // NULLバイト破棄 SetCommState(m_hComm, m_dcb); // DCB を設定 //タイムアウト COMMTIMEOUTS ctmo; ctmo.ReadIntervalTimeout = 10;// 文字読み込みの間の時間 ctmo.ReadTotalTimeoutMultiplier = 12;// Read 文字数に対する乗数 ctmo.ReadTotalTimeoutConstant = 144;// Read ミリ秒単位での定数 ctmo.WriteTotalTimeoutMultiplier = 12; // Write 文字数に対する乗数 ctmo.WriteTotalTimeoutConstant = 144;// Write ミリ秒単位での定数 if (!SetCommTimeouts(m_hComm, ctmo)) { CloseHandle(m_hComm); AfxMessageBox(_T("タイムアウト設定に失敗しました")); exit(-1); } ワーカースレッド hoge.hに以下を宣言する。 //// ワーカスレッド関連 static UINT ThreadEntry(LPVOID pParam);// スレッド開始位置 void CPulseMonitorDlg ThreadStop(void); UINT ThreadProc(void);// スレッド処理 CWinThread* m_pThread;// スレッドオブジェクト HANDLE m_hEventStop;// 終了イベント hoge.cppに以下を書く。 // ワーカースレッド定義 /////////////////////////////////////////////////////////////////////////////////////////// // スレッド開始位置 UINT CPulseMonitorDlg ThreadEntry(LPVOID pParam) { CPulseMonitorDlg* pHogeHoge = (CPulseMonitorDlg*)pParam;// 自オブジェクトの取得 return pHogeHoge- ThreadProc();// スレッド処理 } // スレッド処理 UINT CPulseMonitorDlg ThreadProc(void) { unsigned longnn; CStringstr; DWORDerr = 0; COMSTATComStat; DWORDdwCount; DWORDdwErrors; while ( 1 ) { // 後はここで目的のイベントとm_hEventStopを // WaitForMultipleObjectsで待つなり // Sleep() を挟んで(いいかげんな)周期スレッドとするなり // 好きに処理をしましょう。 } return 0; } // スレッドの終了 void CPulseMonitorDlg ThreadStop(void) { ASSERT(m_pThread != NULL); SetEvent(m_hEventStop);// 終了イベントセット // スレッド終了待ち if ( WaitForSingleObject(m_pThread- m_hThread, 1000) == WAIT_TIMEOUT ) { // スレッド強制停止 // (絶対に停止するなら WaitForSingleObjectで INFINITE も可) TerminateThread(m_pThread- m_hThread, 0xffffffff); // AfxMessageBox(_T("スレッド強制停止")); } // スレッドオブジェクト破棄 delete m_pThread; m_pThread = NULL; ResetEvent(m_hEventStop);// 終了イベントクリア } ワーカースレッドを開始するには、以下のようにする。 コンパイルは、「Debug」ではなく「Release」にすること。Debugコンパイルだとスレッド開始時にエラーが発生する。原因は不明。 //受信スレッド ASSERT(m_pThread == NULL); m_pThread = AfxBeginThread(ThreadEntry, (LPVOID)this, THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED, NULL); m_pThread- m_bAutoDelete = FALSE;// 自動破棄フラグクリア m_pThread- ResumeThread();// サスペンド解除 タイマースレッド hoge.hに以下を宣言する。 // マルチメディアタイマ用ヘッダファイル #include windows.h #include mmsystem.h #include "afxwin.h" #pragma comment(lib,"winmm.lib") // コールバック関数をクラスのメンバ関数に内包する /////////////////////////////////////////////////////////////////////////////////////////// staticvoid CALLBACK TimerThreadProc (UINT uTimerID, UINT uMsg, DWORD dwUser, DWORD dummy1, DWORD dummy2); // 実際に動作するランナップ時間測定用のスレッド virtual void VirtualTimerThreadProc (void); hoge.cppに以下を書く。 // マルチメディアタイマ関数群定義 /////////////////////////////////////////////////////////////////////////////////////////// void CALLBACK CPulseMonitorDlg TimerThreadProc(UINT uID,UINT msg,DWORD dwUser, DWORD dwData1,DWORD dwData2) { // コールバック関数定義 // ユーザデータにクラスポインタを渡しメンバ関数へアクセスできるようにする CPulseMonitorDlg *pTObject = (CPulseMonitorDlg*)dwUser; pTObject- VirtualTimerThreadProc(); } void CPulseMonitorDlg VirtualTimerThreadProc() { // ここに処理を書く } タイマスレッドを開始する場合 // タイマスレッドの取得 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// timeBeginPeriod(m_Step_ReLog); //m_dwStart= timeGetTime(); // ReLogスレッド m_SCnt_ReLog =m_ECnt_ReLog =0; m_ThrID_ReLog= timeSetEvent( m_Step_ReLog,// 間隔[ms] 0,// 分解能 ReLogProc,// 割り込み関数 (DWORD)this,// ユーザーパラメータ TIME_PERIODIC | TIME_CALLBACK_FUNCTION// 動作フラグ ); タイマスレッドを停止する場合 timeKillEvent(m_ThrID_ReLog); timeEndPeriod(m_Step_ReLog); マルチスレッド割り込み禁止 hogeDlg.cppの上の方に CRITICAL_SECTION cs; どこかで初期化すること InitializeCriticalSection( cs); EnterCriticalSection( cs); // この間に処理を書く LeaveCriticalSection( cs); ICONの変更 Picture ControlのICONを変更するためには、以下のようにする。 m_***.SetIcon(AfxGetApp()- LoadIcon(IDI_***)); リターンキーの処置 MFCの場合、EditBoxでリターンキーを押すと終了してしまう問題の処置として 「メッセージ」より、「WM_ONKEYDOWN」を選択し追加する。(クラスビュー) 次に、「オーバーライド」を押し、メンバ関数一覧を表示する。「BOOL PreTranslateMessage(MSG* pMSG);」を追加する。 PreTranslateMessageの中に以下のコードを書く if(pMsg- message == WM_KEYDOWN) { switch(pMsg- wParam) { case VK_RETURN return TRUE; case VK_ESCAPE return TRUE; } } 追加と削除操作ができない場合の処置 コード要素 xxxx が読み取り専用であるため、追加と削除操作は実行できません。 このような場合は、 「xxxxに関係するファイルを閉じる」 インテリセンスのファイル(プロジェクト名.ncb)を削除 特定のEditBoxのみを更新する UpdateData(FALSE)以外に表示を更新する方法として、対象オブジェクトのControl変数(ここでは、m_btn)を作成し以下のように記述する m_btn.SetWindowTextW(_T("hogehoge")); または、 ((CEdit*)GetDlgItem(IDC_EDIT1))- SetWindowText(_T("hogehoge")); 特定のEditBoxのみの色を変える HBRUSH FDIR OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog OnCtlColor(pDC, pWnd, nCtlColor); // エディットボックスの色変更 if (nCtlColor == CTLCOLOR_EDIT) if (pWnd- m_hWnd == CWnd GetDlgItem(IDC_EDIT1)- GetSafeHwnd()) { // 文字色 pDC- SetTextColor(RGB(255, 0, 0)); // 背景色 hbr = static_cast HBRUSH (GetStockObject(BLACK_BRUSH)); pDC- SetBkColor(RGB(0, 0, 0)); } return hbr; } WriteFile()でハングアップする事例の回避方法 WriteFileの最後の引数をNULLにするのではなく、OVERLAPPED変数を当てる OVERLAPPED overlapped = {0,0,0,0,NULL}; overlapped.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL); WriteFile(hComm, byData, ulDataNum, dwNumOfByteswritten, overlapped); GetOverlappedResult(hComm, overlapped, dwNumOfByteswritten, TRUE); ステータスバーの追加 // ステータスバー変数 CStatusBarm_statusBar;// ステータスバー TIMECAPSCaps;// 実行環境性能取得 DWORD err = 0; const UINT ind[4] = {0, IDS_STRING102}; if (!err) if (!m_statusBar.Create(this)) err = 1; if (!err) if (!m_statusBar.SetIndicators(ind, 2)) err = 1; if (!err) { m_statusBar.SetPaneInfo(0, 0, SBPS_STRETCH, 0); m_statusBar.SetPaneText(0, _T("ファイル(F) 初期化(I)を行ってください")); RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); } // ステータスバー初期化 if (!err) if (!m_statusBar.Create(this)) err = 1; if (!err) if (!m_statusBar.SetIndicators(ind, 2)) err = 1; if (!err) if (!m_statusBar.SetIndicators(ind, 3)) err = 1; if (!err) if (!m_statusBar.SetIndicators(ind, 4)) err = 1; if (!err) { m_statusBar.SetPaneInfo(0, 0, SBPS_STRETCH, 0); m_statusBar.SetPaneInfo(1, IDS_STRING102, SBPS_NORMAL, 100); m_statusBar.SetPaneInfo(2, IDS_STRING103, SBPS_NORMAL, 100); m_statusBar.SetPaneInfo(3, IDS_STRING103, SBPS_NORMAL, 40); if (!m_statusBar.SetPaneText(0, _T("ポートを設定し、接続を行ってください"))) err = 1; if (!m_statusBar.SetPaneText(1, App.m_ShowStsX)) err = 1; if (!m_statusBar.SetPaneText(2, App.m_ShowStsY)) err = 1; str.Format(_T("\t\t%s"),App.m_ComPort); if (!m_statusBar.SetPaneText(3, str )) err = 1; } if (!err) RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); CStringからchar型への変換 // 値取り込み char *s = new char[m_ShowCmd.GetLength()+1]; strcpy(s, (CT2A)m_ShowCmd); 文字型(16進)から、数字に変換する char *s = new char[m_hex.GetLength()+1]; strcpy(s, (CT2A)m_hex); TxBuffer[0] = (unsigned char)strtol(s, NULL, 16); 数字を文字型(n進数)に変換する(この場合は、2進数) char out[256]; long b = 12356; _ltoa(b,out,2); CStringから切り出し(splitみたいなもの) AfxExtractSubString(sHoge, rtmp, 0, , ); dat[m_lines].sday = sHoge; CString型の付属機能として S0 = "ABCDEF" S7 = S0.Left( 3 ); S0 から3バイトを抽出して、S7 に代入します。 ( ABCDEF ) S7 = S0.Right( 3 ); 文字列の最後から3バイトを抽出します。 ( ABCDEF ) S7 = S0.Mid( 1 ); 第1バイト以後を抽出します。( ABCDEF ) S7 = S0.Mid( 1, 3 ); 第1バイト~第3バイトを抽出します。 ( ABCDEF ) S0 = "AbcAbcQAbcXAbc"; S7 = S0.SpanIncluding( "Abc" ); Abc が続いている範囲を抽出します。( AbcAbcQAbcXAbc ) S7 = S0.SpanExcluding( "XYZ" ); X, Y, Z, のどれかまでを抽出します。( AbcAbcQAbcXAbc ) 特定のボタンをENA/DIS GetDlgItem( IDC_CHECK)- EnableWindow( FALSE) 日本語のテキストファイルを読み込む 文字セットを「マルチバイト文字セット」にする。 あとは、通常のCStdioFileなどで読み込めばよい。 // ログ解析 CStringrtmp; CStringsHoge; CString filter("CSV Files (*.csv) |*.csv|"); CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter); int err= 0; m_lines= 0; // ログファイルの指定 if (selDlg.DoModal() == IDOK) m_Log_Path = selDlg.GetPathName(); else // ファイル指定されなかった場合は終了 return; // (1)読み書き用にオープン if (!err) { if (!stdFile.Open(m_Log_Path, CFile modeRead)) err = 1; } if (err) { AfxMessageBox(_T("ファイルの読み込みに失敗しました")); return; } // 切り出し while(stdFile.ReadString(rtmp) == TRUE) { //rtmp.Replace(sCut,_T("")); // データ格納 AfxExtractSubString(sHoge, rtmp, 0, , );dat[m_lines].sday= sHoge; AfxExtractSubString(sHoge, rtmp, 1, , );dat[m_lines].number= atoi((CT2A)sHoge); if(dat[m_lines].number == 0) continue;// ヘッダとみなす AfxExtractSubString(sHoge, rtmp, 2, , );dat[m_lines].name= sHoge; AfxExtractSubString(sHoge, rtmp, 3, , );dat[m_lines].agreement= sHoge; AfxExtractSubString(sHoge, rtmp, 4, , );dat[m_lines].odr_FGHIJ= atoi((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp, 5, , );dat[m_lines].odr_KJ= atoi((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp, 6, , );dat[m_lines].odr_M= atoi((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp, 7, , );dat[m_lines].odr_Z= atoi((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp, 8, , );dat[m_lines].tim_start= sHoge; AfxExtractSubString(sHoge, rtmp, 9, , );dat[m_lines].tim_end= sHoge; AfxExtractSubString(sHoge, rtmp,10, , );dat[m_lines].hours= atof((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp,11, , );dat[m_lines].holiday= atoi((CT2A)sHoge); AfxExtractSubString(sHoge, rtmp,12, , );dat[m_lines].kind= sHoge; AfxExtractSubString(sHoge, rtmp,13, , );dat[m_lines].check= sHoge; AfxExtractSubString(sHoge, rtmp,14, , );dat[m_lines].checker= sHoge; AfxExtractSubString(sHoge, rtmp,15, , );dat[m_lines].memo= sHoge; m_lines++; }; if (!err) err = ListInsertItem(); // リストアイテム挿入 stdFile.Close(); UpdateData(FALSE); m_flgOpen = 1; } リストコントロールにおけるソート 結構面倒 void CmanhourDlg OnLvnColumnclickList1(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast LPNMLISTVIEW (pNMHDR); // TODO ここにコントロール通知ハンドラ コードを追加します。 *pResult = 0; RenumberItem();// SortItems関数を呼び出す前には必ず実行 m_iSubItem = pNMLV- iSubItem; static BOOL bSort = FALSE;// staticで定義すること m_xcList.SortItems(CompareFunc,bSort); bSort = !bSort;// bSortがFALSEならTRUE、TRUEならFALSEにする } void CmanhourDlg RenumberItem() { LV_ITEM lvItem; // m_list1はCListCtrl型のDDX変数で、ソートを行うリストビューコントロールのオブジェクトであるものとする for( int i = 0; i m_xcList.GetItemCount(); i++ ) { lvItem.iItem = i; lvItem.iSubItem = 0; lvItem.mask = LVIF_PARAM; lvItem.lParam = i;// ここで番号をアイテムに指定する m_xcList.SetItem( lvItem); } } int CALLBACK CmanhourDlg CompareFunc(LPARAM param1, LPARAM param2, LPARAM param3) { // staticメンバ関数なので、GetParent()で親ウィンドウを取得することはできない CmanhourDlg* pDlg = (CmanhourDlg*)AfxGetMainWnd(); int nSubItem = pDlg- m_iSubItem; // 比較される2つのアイテムから「発売日」の文字列を取得する CString str1 = pDlg- m_xcList.GetItemText(param1, nSubItem ); CString str2 = pDlg- m_xcList.GetItemText(param2, nSubItem ); // strcmpを使うなら、降順の場合はstr1とstr2を逆にしなければならない int iReturn; if( !param3 ) iReturn = strcmp( str1, str2 );// 昇順 else iReturn = strcmp( str2, str1 );// 降順 return iReturn; } 画面のリサイズ機能の実装 ウインドウのリサイズ自体は、リソースエディタの「Border」で「サイズ変更枠」を選択すればよい。これでウインドウ自体はリサイズが可能となるが、配置したコントロールはもとのままである。コントロールをリサイズするには、計算し設定する必要がある。まず、リサイズに発生するイベントハンドラ「OnSize」を追加する(追加は、メッセージからWM_SIZEを選択・追加する)。 例えば、リストコントロールがウインドウに配置されてるとし、そのコントロール変数がm_xcListだったとする。 メンバ変数に下記変数を宣言 CRectm_rect;// ウインドウサイズの取得 OnInitDialogの初期化欄に下記を追加する if (IsWindow(m_xcList.GetSafeHwnd())) { // ダイアログのサイズを取得 GetClientRect( m_rect); // ダイアログに合わせてリストビューのサイズ変更(初期) m_xcList.MoveWindow(0, 0, m_rect.Width(), m_rect.Height()); } SetWindowLong(m_hWnd, GWL_STYLE, GetWindowLong(m_hWnd, GWL_STYLE)|WS_CLIPCHILDREN); OnSizeに void CmanhourDlg OnSize(UINT nType, int cx, int cy) { CDialog OnSize(nType, cx, cy); // TODO ここにメッセージ ハンドラ コードを追加します。 RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0); // その時点では、リストビューのウィンドウハンドルはNULLである。 if (IsWindow(m_xcList.GetSafeHwnd())) { // ダイアログに合わせてリストビューのサイズ変更 m_xcList.MoveWindow(0, 0, cx, cy); } } 詳しい解説などはここを参考すると良い サイズ変更の最大/最小サイズを固定する ウィンドウが変更できるサイズを制限するには、WM_GETMINMAXINFO メッセージハンドラで MINMAXINFO 構造体メンバを設定します。 // フレームウィンドウクラスのWM_GETMINMAXINFOメッセージハンドラ void CMainFrame OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI) { // 幅400高さ300より小さくできないようにする lpMMI- ptMinTrackSize.x = 400; lpMMI- ptMinTrackSize.y = 300; // 幅600高さ500より大きくできないようにする lpMMI- ptMaxTrackSize.x = 600; lpMMI- ptMaxTrackSize.y = 500; CFrameWnd OnGetMinMaxInfo(lpMMI); } VC++でGPIBを使用する方法 まず、ソースファイルのカレントディレクトリに Decl-32.h gpib-32.obj ni488.h をコピーする。上記ファイル群はNIのライブラリ&アプリをインストールするとPCのどこかにコピーされてる。 hoge.h内に #include "stdio.h" #include "Decl-32.h" #include "afxwin.h" #define BDINDEX 0// Board Index #define PRIMARY_ADDR_OF_PPS 0// Primary address of device #define NO_SECONDARY_ADDR 0// Secondary address of device #define TIMEOUT T10s// Timeout value = 10 seconds #define EOTMODE 1// Enable the END message #define EOSMODE 0// Disable the EOS mode #define SLEEPTIME 100// Sleep time for command sending [ms] #define MINTVAL 5000 // モニタリング周期[ms] #define _REN 1// リモート制御開始 #define _GTL 2// リモート制御停止 #define _VSET 3// 電圧設定 #define _ISET 4// 電流設定 #define _SW0 5// 出力設定OFF #define _SW1 6// 出力設定ON プロジェクト設定のリンカのコマンドラインに、 ./Gpib-32.obj
https://w.atwiki.jp/stgl2014/pages/208.html
VC(ボイスチャットについて) VCとは:Voice Chat (ボイスチャット)つまり肉声によるおしゃべりのことです。 当クランでは、募集要項にもありますように、VCは必須ではありません。 (なによりヘタレマスター自身、使わない派でもあり、使う場合も聞き専門です(笑)) しかしながら、小隊などに置いて、VCは協調行動や作戦伝達・意思疎通等に非常に有効であることもまた事実です。 その為、聞き専門の人を許容することを前提に、当クランではVCの導入は各個人の自由としております。 当クランではVCの種類も指定しておりませんが、使っている人の人数の多さで言えば スカイプ(Skype)とマンブル(Mumble)であるかと思います。 Skypeについては、一般社会においても既に著名かつ有名ソフトでもあり、 ID表を名簿に設けておりますので、判らない方はいらっしゃらないと思いますので ここでは、以下にマンブルのご案内を簡単に掲示します。 Mumbleのダウンロードはこちら←クリック インストールが完了しましたら、以下設定で接続できます。 長らくご厚意によって支えられてきた、既定マンブルサーバは2014年2月12日を以って停止致しました。 Ariennerさんのご厚意により、新サーバが試験運用を開始しております。下記案内等をご参照下さい。 ご提供頂いていた方にはマスターより厚くお礼を申し上げ、またご快諾と丁寧なご挨拶の返信を頂きました。 今後の方針につきましては、ご厚意により、新サーバ試験運用中 ⇒ マンブル関連 繰り返しますが、導入の有無・聞き専門の選択・ソフトの選択はあくまで個人の自由とします。
https://w.atwiki.jp/splatoon3strategy/pages/53.html
選択肢 投票 役に立った (1) 概要・目的 判断・タイミング すぐに報告する 報告はすぐにやらないと意味がない。例えば、スペシャル使われたことをすぐに言わないと手遅れになる。 その報告の遅れが、報告自体を邪魔な情報にすることもあるので注意。 重要な情報から順に適切な量を伝える 報告はできるだけ重要な情報から伝える。情報は多すぎても混乱する。 ジェットパックを使われてやられてしまった、そのままジェットパックが味方の方に向かっている。こんな状況ならまず「ジェットパックやられ、そっち行ってる!」と報告すべき。いま必要な情報の優先順位をつけれるようになるとよい。 知りたいことは聞く VCでは報告しあっているが、自分がほしい情報がなかったりすることはどうしてもある。 味方がやられた敵のギアやスペシャルの有無、味方の位置やスペシャルのたまり具合など、知りたい情報は積極的に聞くとよい。 得られた情報から予想して報告 自分が得た情報から敵の行動の予測をして報告できるようになるとより役に立つ。「○○やられ、裏とりくるかも」や「カニたまったから撃ってくるかも」などですね。はじめのうちは予想が外れても構わないので、恐れずどんどん口にしてみる。 味方に指示(オーダー)をだす 視野が広くて状況判断が優れた人は、味方に指示をだすとよい。まずは自分が味方にしてほしいことを伝えることができればよい。強い人は試合中に敵の立ち回りや作戦を読んで、勝つためには誰がどこでどう動けばいいのかまで指示している。 具体的な方法 具体的には、以下の内容を報告するようにする。特に上から重要。 敵の位置 可能ならブキの種類も言えるとよりよい。 大勢に囲まれてやられてしまったら「右に敵多い!」だけでも報告する。その報告で味方は右を警戒できるようになる。 ステージの名称やブキの略称などは伝わればなんでもよい。 自分の位置 自分のいる場所も大切。やられてしまったときは、その付近に敵がいるということになるので、とても重要な情報です。また、生きているうちから言っておくことで味方が自分の位置を意識して動いてくれる。 敵・味方の人数 イカランプを見れば、敵と味方が何人生き残っているのかがわかるが、戦っているときに意識するのは難しい。そのため、気づいた人が言ってあげることが大切。 生存人数の報告ができるようになれば、攻めるタイミングや、引いていい状況が共有できる。 自分が何をしているのか 自分がどこに行って何をするのか言うことで、味方もそれに合わせて行動がとれるようになる。 塗る・前に出る・スペシャル使うなど、一言かけてから行動するとかなり連携は取りやすくなる。 「エリア右のほう塗ってる!」と報告すれば、味方は左を塗ってくれるかもしれない。 スペシャルのたまり具合 自分や味方のスペシャルに合わせて一気に攻めることができることから、非常に大事な要素です。逆に敵のスペシャルがたまっていたら警戒しなければならない。 慣れてきたら、今何割くらいたまってるとか、もうすぐたまるとかの報告ができるとよい。 カウント・残り時間 勝敗に直結する内容。カウントは味方が確認できていないときもあるので、意識して報告するとよい。カウントや残り時間を知っているのと知らないのでは、立ち回りやメンタルにかなり違いが出る。残り1カウントでリードできるのに、気づいてない場面もあったりする。 けずりダメージ報告 一発あてたという情報はとても大切。敵がダメージを負っていることを知れば味方がとどめを刺してくれるかもしれない。 敵のギアパワー ステルスジャンプやスペシャル性能アップなどのギアパワーは、知っていたら対応することもできる。マップややられたあとに表示されるカメラにでてくるものなので、確認したら報告できるようになるとよい。 塗り状況 塗り状況はマップを見ればわかるが、確認する余裕がないこともある。デスしたときなどはパッドで塗り状況を確認しましょう。 プラスαの情報 塗りのインクの形や変化から、どのブキがどこにいるのかまでわかることもある。マップからそんな情報まで読み取れるようになったら、報告するとよい。 練習方法 注意点 このページについての議論 名前
https://w.atwiki.jp/vst_prog/pages/19.html
Microsoft Visual C++ Express Editionのインストール方法(2010年4月14日) Visual C++起動、製品登録 Visual C++を起動 Microsoft Visual C++を起動する。 製品登録ダイアログを開く メニューから「ヘルプ」→「製品登録」を選択。 登録Webページへ移動 「今すぐ登録」を押し、登録Webページを開く。 Windows Live IDに登録しているのメールアドレス、パスワードを入力して「サインイン」を押す。 (Windows Live IDを持っていない場合は別途登録する。登録方法についてはここでは省略する。) 必要事項の入力 必要事項を入力し、「次へ」を押す。 登録キーのコピー 登録キーをコピーし製品登録ダイアログへ貼り付け、「登録を完了する」を押す。 製品登録の完了 カスタマエクスペリエンス向上プログラムについて選択し、「閉じる」を押す。 合計: - 今日: - 昨日: -
https://w.atwiki.jp/prdj/pages/3247.html
隊商 Merchant Caravan 新しいルール 特技 《粗悪品質のアイテム作成》 Craft Shoddy Item 出典 Villain Codex 116ページ 作成の過程で材料費を節約し、通常の商品と同じくらい頑丈で品質の良いものであるように見える貧相に構築されたアイテムを作成することができる。 前提条件:適切な〈製作〉技能1ランク。 利益:君の〈製作〉技能を使用してアイテムを作成するとき、そのアイテムの市価の1/5を原材料費として支払い、粗悪品質のアイテムを作成することができる(116ページ参照)。依然として適切なDCでの判定で成功しなければならず、作業には通常のアイテムと同じ時間がかかる。〈製作〉判定に5以上の差で失敗すると、原材料すべてが無駄となり、最初からやり直さなければならない。品質の悪いアイテムを作成しようとすると、アイテムの質の悪さが即座に現れる。 通常:君は原材料費としてアイテムの市価の1/3を支払う。〈製作〉判定に5以上の差で失敗すると、原材料の半分が無駄となり、元の原材料費の半分を再度支払わなければならない。 装備品 粗悪品質のアイテム Shoddy item 出典 Villain Codex 116ページ 市価 さまざま;重量 さまざま 区分 冒険用装備 粗悪品質のアイテムは、巧妙に作られてはいるが材料や仕上がりが予想以上に悪く、欠陥が隠されているような一般的な装備品である。材料の層が通常よりも薄く、留め金やヒンジはゆるく取り付けられているだけであり、金属が不適切に混ざっているため合金が柔らくなっているなどである。粗悪品質のアイテムはよく作られたものと同じ価格で販売されている。粗悪品質のアイテムを製造するには、粗末な仕上がりを上手く隠すために、《粗悪品質のアイテム作成》特技が必要である(上記参照)。粗悪品質のアイテムは決して高品質や特殊な素材で作られているわけではなく(ただし、特殊な素材で作られているように見える場合もある)、使い捨てのアイテムは粗悪品質のアイテムとして決して作成できない。 粗悪品質のアイテムは硬度が2減少し、ヒット・ポイントは半減する。粗悪品質な方法で作成された武器や鎧は使用するたびにダメージを受ける。武器は攻撃によって与えたダメージと同じ量を受け(硬度の値を差し引く)、鎧は敵の攻撃の成功による着用者のヒット・ポイントの減少と同じダメージ(これも硬度による調整の後のダメージ)を受ける。武器や防具以外のアイテムは1日に使用する毎に、10%の確率で破損状態となり、使用回数に制限がある場合は通常の半分の使用回数となる。どちらの場合でも粗悪品質のアイテムは、初期の欠陥を修正するためにさらなる〈製作〉判定に成功しGPを消費しない限り、魔法を使用したり、ヒット・ポイントを回復させたとしても取り除くことができない破損状態となる。破壊された粗悪品質のアイテムはどうやっても修復できず、原材料の一部を回収する以外には何の役にも立たない。粗悪品質のアイテムの価格は、その種別の通常のアイテムと同じ金額である。 DC15の〈鑑定〉判定(または適切な〈製作〉)に成功したキャラクターは、アイテムが粗悪品質であることに気付くが、そのためにはアイテムを具体的に検査しなければならない。 隊商頭の四輪馬車 Caravan Master's Wagon 出典 Villain Codex 116ページ 市価 1,000GP;運賃(1マイル当たり) ― 区分 輸送手段(地上) 隊商頭の四輪馬車は高い品質の重量型密輸団の四輪馬車とほとんどの点で似ているが、その内部にポータブル・ホールを秘密裏に隠しておくことができる。ポータブル・ホールは、四輪馬車のベッドの表面に固定されており、その上に2枚目の木の板が敷かれ、ワゴンの普通の部分に見えるようにナットとボルトで固定されている。したがって、ポータブル・ホールは2枚のパンの間にある肉の薄いカットのように、木の層の間にある。ポータブル・ホールを把握しているものは、違法な商品を詰め込んで、デッキの2層目を所定の位置に固定しその上に通常の貨物を積み込むことができる。台車は必要以上に重くはない。密輸団が穴を開けたままにして取り付けておくと、携帯用の穴の開口部の上部にある板が通気性のある空気を入れるのに十分な距離を隔ているため、この設定にしていると、生きた貨物の輸送を可能にする(必要に応じて、無音にしたり気絶状態にしたりする)。何を探せばよいかを知らない限り、隠してある第2層を発見するためには、DC30の〈知覚〉判定に成功する必要がある。 騙し樽 Sucker's barrel 出典 Villain Codex 117ページ 市価 4GP;重量 35ポンド 区分 冒険用装備 騙し樽は通常の樽と全く同じようにありふれた見た目に見えるように作られている。ただし、樽の端の近くに設置された内壁には、水で満たされた袋が入った空洞が隠されている。これにより、偽りの底ができあがり、アルコールやオイルといった、より価値のある液体で満たされた樽と同じ重さと感触が得られる。このようにして、商人は樽に少量の液体を「充填」し(通常は樽の総容量の75%)、あたかも樽一杯分の価値があるかのように販売できる。 密輸団の四輪馬車 Smuggler's wagon 出典 Villain Codex 116ページ 市価 さまざま;運賃(1マイル当たり) さまざま 区分 輸送手段(地上) 密輸団の四輪馬車はほとんどの点で通常の四輪馬車(Pathfinder RPG Ultimate Equipment 87ページ)とまったく同じように機能するが、貨物を秘密裏に輸送できる隠された区画が内蔵されている。密輸団の四輪馬車の価格は2つの要素に依存する――元の四輪馬車のサイズや種類と、隠された区画がどのように構成されているか。以下の表は、このような搭乗物の価格の詳細である(括弧内の数字は、四輪馬車の捜索中に隠された区画を見つけるために行う〈知覚〉判定のDCである)。 隠蔽度合いの特質 サイズ 低(15) 中(20) 高(25) 軽量 75GP 100GP 150GP 中量 115GP 150GP 225GP 重量 150GP 200GP 300GP この区画は空洞化した車軸、座席の下、フロアデッキのパネルの間など、四輪馬車のいたる所に配置できる。四輪馬車と牽引動物の総重量は元の種類の四輪馬車と変わらない。 呪文 フールズ・ゴールド Fool's Gold (VC)/愚者の黄金 出典 Villain Codex 117ページ 系統:幻術;呪文レベル:ウィザード/ソーサラー1、サイキック1、バード1、ミーディアム1、メスメリスト1 発動時間:標準アクション 構成要素:音声、動作、物質(銅貨または銀貨1枚) 距離:接触 目標:接触した物体 持続時間:1時間/レベル セーヴィング・スロー:不可または意志・看破(本文参照);呪文抵抗:不可 君は一時的に銅または銀を、金と同等の量に見せかけることができる。呪文や1GP/レベルの価値のある材料に影響する。従って、3レベルの時点で、この呪文は300枚の銅貨、30枚の銀貨または合計3GPを超えない銅または銀のアイテムに作用する。貨幣は通常通り新しい種類の貨幣として価値が増加する。貨幣以外のものは、金属の種類とは別に職人の技による価値もあるため、真の価値の銀の場合は5倍、銅の場合は50倍の価値があるアイテムのように見える。したがって、この呪文によって変換された元々の価値が5CPの銅製の燭台は250CP(すなわち2GP5SP)の価値があるように見える。DC25の〈鑑定〉判定に成功すると、貨幣やアイテムの真の性質を自動的に検知する。貨幣やアイテムを検査したり操作したりするクリーチャーは、幻術を看破するためにセーヴィング・スローを試みることができる。 魔法のアイテム アンバランスト・スケイルズ (Unbalanced Scales/不正確な秤) 出典 Villain Codex 117ページ オーラ 微弱・幻術;術者レベル 3 装備部位 なし;市価 1,000GP;重量 1ポンド アンバランスト・スケイルズを使用すると、不正な商人が不正確な計量結果で取引を行うことができる。しかし必要に応じては、商務の当局による検査にも合格する。通常アンバランスト・スケイルズは正確な重量の測定値を提供するが、合言葉を使用することにより、使用者は重量計を25%ずれた値(軽くか重くか、使用者の望む方)で表示させることができる。 作成要項 必要条件 《その他の魔法のアイテム作成》、プレスティディジテイション;コスト 500gp クレート・オヴ・プレザヴェーション (Crate of Preservation/保存の木枠) 出典 Villain Codex 117ページ オーラ 微弱・変成術;術者レベル 5 装備部位 なし;市価 2,500GP;重量 60ポンド クレート・オヴ・プレザヴェーションは輸送中に腐りやすい食べ物や飲み物を保管して新鮮に保つ。冷たいアイテムは冷たく、温かいアイテムは温かいままとなる。保存効果は無期限に機能するが、この木枠の中に入れる前に既に腐っている食品は、入れたからと言って健康性と活力を取り戻すことはない。単に腐敗したままである。クレート・オヴ・プレザヴェーションは最大8立方フィートの商品を保持することができる。 作成要項 必要条件 《その他の魔法のアイテム作成》、エンデュア・エレメンツ、ピュアリファイ・フード・アンド・ドリンク;コスト 1,250GP
https://w.atwiki.jp/croquette_ava/pages/19.html
VCを使っての報告すべき内容 報告は単純に、自分の情報と味方への注意と敵の情報の3種類にほぼ分類できます。 自分の情報とは・・・ ・行くつもりの配置 例:俺1行くわ ・現在地や覗き方 例:今、1中からテロ下ガンミしてる ・押し引きの加減具合と攻め方 例:開幕グレ来てるから最初待つよー。 :こっちSRいるから引きめで抑えてるわ。逆ガッツリ押してー。 ・今からしたいこと 例:テロ下出て戦車階段上がりたいからキャットからグレ入れてL字クリアしてくんね? :1上の奴を狩りに行きたいからちょっとそっちで音立てて釣ってくんね? ・グレ投げる情報 例:グレ入れるー。カバーして。鳴いたか聴いててねー。 でほとんど行われていない、でもかなり重要な報告が ・自分のギリギリ予想 例:これあと敵の配置1上と1中と2中だと思うんだが?サクッと2を全員で押そうぜ? :今2をめっちゃプッシュしたから1からカバー寄ってくると思う。んだからサイレントで1を押してくんね? :今のラウンド武器庫取ったから次は相手は引き気味だと思う。次もグレだけ入れに行くから最速でキャット飛んでくんね? 味方への注意とは・・・ ・グレ情報 例:そこ毎回グレ来てるよ。 :交戦したらワンテンポ置いて煙入れてくるからピン抜き音で殺しにいけるかも。 ・敵情報 例:SRガンミしてるからグレ入れてから覗いたほうがいいよ。 :敵の癖で釣ったあと逆をサイレントで抜くのが多いから裏取りするの注意ね ・味方情報 例:それ見てる場所被ってるから! ・残り時間 敵の情報とは・・・ ・敵の位置と音情報 例:1倉庫で足音。3人はいるわ。足音かなり立ててきてるし早めに押してきそう。 :戦車裏入った戦車裏入った。もう1つ足音してる! :キャットでグレ持ち替え、からの今ピン抜いたー。 :シャワーでジャンプ音してもう1人いるから、最低でもシャワー2人いる! ・敵の覗き方 例:敵シャワーに2人。SRがミリ置きしてるから出ないほうがいいよー。 ・押し引きの加減具合 例:開幕グレ来てるからガン引きで守るわー。 :こっちSRいるから引きめで抑えてるわ。逆ガッツリ押してー。 ・敵がしてきそうなことの予測 ・C4の位置、設置。 ・現時点での相手の人数 例:敵ラスト1人。 :敵あと2人だから無理しなくていいよー TAB見れば、敵の数も味方の位置もわかるじゃん。と思うかもしれませんが 交戦してるときや本気で集中してるときにTAB見てる余裕なんてないんです。 目は相手が出てくるところを超ガンミしてるんで、情報は耳からしか入れれません。 で、報告に関しての練習方法なんですけども 報告は自分では結構してるつもりでも実際には全然少なかったりと 人に注意してもらわないと自分では多いのか少ないのかわかりにくいのが特徴です。 普段VCを繋ぐメンバーにいろいろ言ってもらうのも練習としてはあるんですが、 その人が報告のプロならまだしも素人だと どこが良いのか悪いのかはっきりしないままウヤムヤになりやすいんですね。 出来る人が実力をつけて周りを引っ張る。 となると他人をあてにするのではなく、自分で改善していく方法を取ります。 TS3ならばデフォルトで録音機能がついてるので、VCを録音しちゃいます。 で、あとから聴いてみて試合内容をを思い出すというよりも 各個人が何をしているのかを考えながら聴く。 Aさんの守りの配置はどこなのか 角で出待ちなのかミリ置きなのかガチ置きなのか それでいて味方をカバーできる位置なのか 前に出るのか後ろに下がるのか フラッシュ、煙、足音から想像できる敵の数 Aさんの見たもの、聴いた音、グレを投げるなどの一挙手一投足まで さらにいえば、敵が来たときにAさんは押すのか引くのか、 状況次第で変わる押し引きをAさんはどうしたいのか。 わかりやすくいえば、Aさんの方針は敵を減らしたいのかそれとも自分が生き残っていたいのか。 (守りで2vs4の状況なら減らしに行きたいところだし、3vs2なら無理に出ないで生き残っていたほうが良いなどの意思というか方針というか立ち回りの方向性です) 頭の中でAさんの動きが再現できるレベルならば最高です。Aさんの自分に関しての報告は完成しています。 同じ要領で、試合の流れから注意しなきゃいけないところは指摘してるのか。 相手の動きが録音を聴いてるだけで頭にスッと入ってくるレベルなのか。 報告はなかなか上達しづらい部分ですので、常に意識して慣れていくことが重要ですヾ(*´∀`*)ノ